Operator CXPQuadCamera

Operator Library: Hardware Platform

이 연산자는 CXP 4채널 카메라와 VisualApplets 간의 이미지 데이터 인터페이스를 나타냅니다.

하드웨어 플랫폼별 지원 여부
mE5 marathon VCX-QP
mE5 ironman VQ8-CXP6D
mE5 ironman VQ8-CXP6B

연산자는 출력 O를 통해 이미지 데이터를 제공합니다. 이 출력은 항상 존재합니다.

이 표준 출력 포트 외에도, 일련의 선택적 입력 및 출력 포트를 구성할 수 있습니다.

운영자 인스턴스화 과정에서 다음과 같은 팝업 대화 상자가 나타납니다:

여기에서는 CXP 케이블을 통한 범용 입출력에 대한 선택적 포트를 지정할 수 있을 뿐만 아니라, 카메라와 주고받는 선택적 트리거 포트도 지정할 수 있습니다.

특정 GPI(범용 입력), 특정 GPO(범용 출력), 트리거 입력 포트 및 트리거 출력 포트의 사용 가능 여부를 정의할 수 있습니다.

포트 가용성을 "0"(기본값)으로 설정하면, 해당 포트는 운영자 인터페이스에 표시되지 않습니다. 포트 가용성을 1로 설정하면, 해당 포트가 운영자 인터페이스에서 사용 가능해집니다.

이 오퍼레이터는 CameraPort 유형의 리소스 4개를 사용합니다.

[중요] 이미지 너비 및 높이 조정

카메라별 설정에 따라 너비와 높이를 조정할 수 있습니다. 단, 운영자 포트 O의 최대 이미지 너비는 의 최대 이미지 너비는 포트 O의 병렬 처리 수 로 나누어 떨어져야 합니다.

이미지의 최대 너비가 포트 O의 병렬 처리 수로 나누어 떨어지도록 하십시오!

[중요] Parallelism 값

포트 O의 병렬도는 최소한 최소값(매개변수 MinimalParallelism에 명시된 값)으로 설정되어야 합니다. 이보다 낮은 병렬 처리 값은 허용되지 않습니다. 최소 병렬 처리 값은 이 연산자의 다른 매개변수에 대해 정의한 값을 바탕으로 VisualApplets 에 의해 계산됩니다. 이를 통해 들어오는 데이터를 항상 수신할 수 있습니다.

[중요] 더미 픽셀

출력 데이터에는 더미 픽셀이 포함될 수 있습니다. 이는 연산자가 병렬도를 두 번 변환할 수 있기 때문입니다. 먼저, 연산자는 내부적으로 계산된 최소 병렬도로 변환한 후, 이를 MinimalParallelism 매개변수의 읽기 전용 값으로 제공합니다. 그 결과, 내부 이미지 너비는 MinimalParallelism으로나누어 떨어지게 되며, 병렬도 변환으로 인해 더미 값이 추가될 수 있습니다. 둘째, 연산자는 병렬도를 O로 변환합니다 .Parallelism, 첫 번째 병렬도 변환으로 인해 생성된 패딩된 이미지 너비가 O의 배수가 아닐 경우, 추가적인 더미 값이 더해질 수있습니다.Parallelism. 따라서 출력 데이터에 더미 픽셀이 포함되는지는 MinimalParallelism 매개변수, 이미지 너비 및 O에 따라 달라집니다 .Parallelism. 각 병렬화 변환 과정에서 더미 픽셀이 추가될 수 있습니다. 추가된 더미 픽셀에는 정의되지 않은 데이터 값이 포함되며, 이로 인해 이미지 너비가 실제 이미지 너비와 차이가 발생하게 됩니다.

예: 만약 MinimalParallelism이 20이고, O.Parallelism 이 32이며, 전송된 이미지의 폭이 128 픽셀이라면, 연산자는 내부적으로 폭이 140인 이미지 라인을 생성합니다. 이는 MinimalParallelism 매개변수에 정의된 내부 병렬도 20 때문입니다. 출력 시, 데이터 벡터는 병렬도 32 (O.Parallelism)로 변환되며, 그 결과 이미지 라인 폭은 160 픽셀이 됩니다.

더미 픽셀로 인해 예상되는 출력 이미지 너비는 다음과 같습니다:

[중요] Bit Width 및 형식 유형

포트 O(이미지 포트)의 비트 폭은 선택된 형식 유형( FormatType 매개변수)에 따라 달라집니다:

  • FormatType이 Gray인 경우, Bit Width 는 어떤 값이든 가질 수 있습니다(VAF_Gray 및 FL_NONE).
  • FormatType이 RGB인 경우: Bit Width 는 3의 배수여야 합니다 (VAF_Color 및 FL_RGB).
  • FormatType이 RGBA인 경우: Bit Width 가 4의 배수인 경우 (VAF_Gray 및 FL_NONE)
  • FormatType이 RAW인 경우: Bit Width 의 값은 32입니다 (VAF_Gray 및 FL_NONE).

I/O Properties

Property Value
Operator Type M
Input Links - TriggerI (선택 사항), 프레임 그래버에서 CXP 채널을 통해 카메라로 전송되는 트리거 신호. 이 포트는 주로 라인 스캔 카메라를 트리거하는 데 사용됩니다.
- GPIx (선택 사항), 프레임 그래버에서 CXP 채널을 통해 카메라로 전송되는 범용 입력 [x]. 사용 가능한 포트로는 GPI0, GPI1, GPI2, GPI3, GPI4, GPI5, GPI6 및 GPI7이 있습니다.
Output Links - O, 이미지 데이터 출력
- TriggerO (선택 사항), 카메라에서 CXP 채널을 통해 프레임 그래버로 전송되는 트리거 신호.
- GPOx (선택 사항), 카메라에서 CXP 채널을 통해 프레임 그래버로 전송되는 범용 출력 [x]. 사용 가능한 항목은 GPO0, GPO1, GPO2, GPO3, GPO4, GPO5, GPO6 및 GPO7입니다.

지원되는 Link Format

Link Parameter 출력 링크 - O 입력 링크 - TriggerI (선택 사항) 출력 링크 - TriggerO (선택 사항) 입력 링크 - GPIx (선택 사항) 출력 링크 - GPOx (선택 사항)
Bit Width any 1 1 1 1
Arithmetic unsigned unsigned unsigned unsigned unsigned
Parallelism any1 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} (default: VALT_IMAGE2D) VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL
Color Format {VAF_GRAY, VAF_COLOR}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

( Color Format 가 VAF_GRAY인 경우, Color Flavor는 FL_NONE이며; Color Format 가 VAF_COLOR인 경우, Color Flavor는 FL_RGB입니다.)

VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor {FL_NONE, FL_RGB}

VAF_GRAY = FL_NONE

VAF_COLOR = FL_RGB

( Color Format 가 VAF_GRAY인 경우, Color Flavor는 FL_NONE이며; Color Format 가 VAF_COLOR인 경우, Color Flavor는 FL_RGB입니다.)

FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width 임의의 값 (기본값: 1024) 1 1 1 1
Max. Img Height 임의의 값 (기본값: 1024) 1 1 1 1

1

매개변수 MinimalParallelism에 명시된 최소값 이상으로 설정해야 합니다.

MinimalParallelism과 O.Parallelism이 서로 다르면, 병렬 처리가 두 번 변환되며, 매번 더미 값이 추가될 수 있습니다. 이러한 더미 픽셀로 인해 예상되는 출력 이미지의 너비는 다음과 같습니다:

Parameters

카메라 ID
Type 정적 쓰기 파라미터
Default
Range {-1, 0, 1, 2, 3}

The CameraID 매개변수는 카메라 운영자의 펌웨어에 CXP 마스터 포트 ID를 정의하여, CXP 토폴로지를 자동으로 탐색할 수 있도록 합니다(카메라-애플릿 간 및 애플릿-카메라 간).

이 매개변수를 사용하면 여기 오퍼레이터에서 직접 ID를 지정할 수 있습니다. 그러나 ‘리소스’ 대화 상자에서 오퍼레이터의 리소스를 지정하는 것을 권장합니다. (‘리소스’ 대화 상자를 열려면 카메라 오퍼레이터를 선택한 후 ‘디자인’ 메뉴에서 ‘리소스’ 메뉴 항목을 선택하기만 하면 됩니다.) CameraID 매개변수는 리소스 대화 상자의 매개변치를 사용하여 올바른 마스터 포트로 자동 업데이트됩니다. 다음 예제는 단일 카메라 하나와 듀얼 카메라 하나를 사용하는 경우입니다:

module3(단일 카메라)의 CameraID(CXP 마스터 포트 ID)는 2입니다. module5(듀얼 카메라)의 CameraID(CXP 마스터 포트 ID)는 1입니다.

듀얼 카메라에는 2개의 CXP 카메라 포트가 필요합니다. (쿼드 카메라에는 4개의 포트가 필요합니다.) 오퍼레이터의 CameraID 매개변수에는 마스터 포트만 반영됩니다.

허용되는 수(최대 4개)보다 많은 CameraPort 리소스를 정의할 경우(예: “CXPSingleCamera” 오퍼레이터를 5개 인스턴스화할 때), 사용 가능한 4개의 CameraPort 리소스가 모두 이미 할당된 상태에서 CameraPort 리소스를 마지막으로 요청하는 카메라 오퍼레이터는 는 자신의 CameraID를 -1로 설정합니다. 이 경우, 설계 규칙 검사에서 오류가 보고됩니다.

CameraID 매개변수는 {-1, 0, 1, 2, 3} 범위 내에 있습니다.

MinimalParallelism
Type 정적 읽기 매개변수
Default 20
Range [1 : 512]

데이터 손실 없이 카메라의 최대 대역폭을 전송할 수 있는 출력 링크 O의 최소 Parallelism을 제공하는 읽기 전용 파라미터입니다. 최소 Parallelism은 자동으로 계산됩니다.

값은 FormatMode 파라미터에서 선택한 Pixel Format에 따라 달라집니다.

매개변수 FormatMode를 동적 매개변수로 정의하면(아래의 FormatMode매개변수 설명 참조), 발생할 수 있는 최소 병렬 처리가 계산됩니다.

연산자가 Parallelism을 두 번 변환하고 이 과정에서 더미 값을 추가할 수 있으므로, 최소 Parallelism으로 인해 더미 픽셀이 생성될 수 있습니다. 이러한 더미 픽셀로 인해 예상되는 출력 이미지 너비는 다음과 같습니다.

Status
Type dynamic read parameter
Default
Range {0; 2^7-1}

The Status 매개변수는 카메라 조작자의 현재 상태를 반영하는 런타임 읽기 전용 매개변수입니다. 비트[0]은 CXP 스트림 패킷 손실 감지를 나타냅니다. 비트[1]은 CXP 스트림 패킷에서 단일 바이트 오류 수정을 나타냅니다. 비트[2]는 CXP 스트림 패킷에서 다중 바이트 오류 감지를 나타냅니다. 비트[3..6]은 예약되어 있습니다. 이 매개변수는 향후 버전에서 변경될 수 있습니다.

FormatType
Type 정적(static) 쓰기 파라미터
Default GRAY
Range GRAY, RGB, RGBA, RAW

여기에서는 (CXP 사양에 정의된) 어떤 종류의 픽셀 형식을 수신할지 선택할 수 있습니다. 여기서 선택한 값에 따라 FormatMode 매개변수에서 선택할 수 있는 픽셀 형식이 결정됩니다. 따라서 이 매개변수의 설정은 FormatMode 매개변수에 직접적인 영향을 미칩니다. 아래의 FormatMode 매개변수 설명도 참조하십시오.

FormatMode
Type 정적(static) 또는 동적(dynamic, 사용자 정의) 쓰기 파라미터
Default Mono8
Range {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16, RGB8, RGB10, RGB12, RGB14, RGB16, RGBA8, RGBA10, RGBA12, RGBA14, RGBA16, Raw}

이 매개변수는 매개변수 FormatType에서 선택한 형식 유형에 속하는 모든 픽셀 형식(CXP 사양에 정의된 대로)을 제공합니다.

여기서 선택할 수 있는 픽셀 형식은 FormatType 매개변수의 설정에 따라 달라집니다. 따라서 항상 전체 값 범위 중 미리 설정된 일부만 사용할 수 있습니다.

다른 픽셀 형식 세트를 사용하려면 FormatType 매개변수의 설정을 변경하십시오. 위의 FormatType 매개변수 설명도 참조하십시오.

구체적으로, FormatType 매개변수의 다음 설정들은 FormatMode 매개변수에서 다음과 같은 픽셀 형식을 제공합니다:

FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16}

FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16}

FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16}

FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received.

이 매개변수를 동적 매개변수로 사용할지, 정적 매개변수로 사용할지 결정할 수 있습니다. ‘매개변수 유형’ 열에서 다음 중 하나를 선택하십시오:

TxTriggerPacketMode
Type dynamic write 파라미터
Default CxpStandard
Range {CxpStandard, RisingEdgeOnly}

TxTriggerPacketMode 매개변수를 사용하면 프레임 그래버와 카메라를 연결하는 CXP 케이블의 대역폭을 높일 수 있습니다. 대역폭 증가는 카메라 트리거 신호의 해석 방식을 약간 수정함으로써 달성됩니다.

이 기능은 해당 기능을 지원하는 특정 카메라에서만 사용할 수 있습니다. 자세한 내용은 현지 대리점이나 Basler 지원 부서에 문의하십시오.

TxTriggerPacketMode 매개변수는 두 가지 값(CxpStandard, RisingEdgeOnly)을 허용합니다:

  • CxpStandard: 권장 설정은 CxpStandard 값입니다. CxpStandard 값으로 설정하면 카메라 트리거가 CXP 사양에 따라 작동합니다. (CXP 사양에 따르면, 프레임 그래버는 카메라를 한 번 트리거하기 위해 CXP 케이블을 통해 카메라로 두 개의 패킷을 전송하도록 정의되어 있습니다. )

  • RisingEdgeOnly: 값을 RisingEdgeOnly로 설정하면, 프레임 그래버는 카메라를 한 번 트리거하기 위해 카메라로 패킷을 단 하나만 전송합니다. 그 결과 대역폭이 증가하고 라인 속도가 높아집니다.

TxTriggerEventCount
Type dynamic read parameter
Default 0
Range {0;2^20-1}

The TxTriggerEventCount 매개변수는 카메라로 전송된 트리거 에지 이벤트의 개수를 나타냅니다.

TxTriggerAcknowledgementCount
Type dynamic read parameter
Default 0
Range {0;2^20-1}

The TxTriggerAcknowledgementCount 매개변수는 카메라가 (이전에 전송된 트리거 에지 패킷에 대한 응답으로) 보낸 트리거 확인 패킷 중 프레임 그래버가 수신한 개수를 나타냅니다.

TxTriggerWaveformViolation
Type dynamic read parameter
Default 0
Range {0,1}

카메라 조작자가 TriggerI 포트의 두 트리거 에지 사이의 거리가 최소 에지 주파수를 위반하는 것을 감지하면, 이 매개변수가 1로 설정됩니다. 모든 microEnable 5 플랫폼에서 최소 에지 주파수는 550 ns(나노초)입니다. 이 매개변수는 읽히기 전까지 해당 값을 유지합니다. 읽힌 후에는 매개변수의 값이 업데이트됩니다. 주파수 제어는 지속적으로 실행되며, 매개변수의 읽기 상태에 영향을 받지 않습니다.

사용 예

다음 예제에서는 CXPQuadCamera 연산자의 사용법을 보여줍니다: